// import React, { Component } from 'react';

// export default function asyncComponent(importComponent, reducerOpts = {}) {

//   let getComponent = null;
//   let reducerKeys = Object.keys(reducerOpts);

//   if (typeof importComponent === 'function') {
//     getComponent = importComponent;
//   }

//   class AsyncComponent extends Component {

//     constructor(props) {
//       super(props);
//       this.state = {
//         component: null
//       }
//     }

//     // async componentDidMount() {
//     //   const { default: component } = await importComponent();
//     //   this.setState({
//     //     component
//     //   });
//     // }
    
//     componentDidMount() {
//       if (getComponent) {
//         getComponent().then(({default: component}) => {
//           this.setState({
//             component 
//           });
//         });
//       }
//     }

//     render() {
//       const { component: C } = this.state;
//       return (
//         C ? <C {...this.props}/> : null
//       );
//     }
//   }

//   return AsyncComponent;
// }